// pages/video/video.js
import myAxios from '../../utils/myAxios'
Page({

    /**
     * 页面的初始数据
     */
    data: {
        titleList: [], // 视频标题列表 
        videoList: [], // 视频列表 
        currentId: 58100, //标题选中下标
        videoId: '', //视频ID
        isRefresh: false, //是否刷新
    },
    // 1、点击切换标题
    async changeTitle(e){
        wx.showLoading({
            title: '请求中...'
        })
        this.setData({
            currentId: e.currentTarget.dataset.id
        })
        await this.getVideoList()
        wx.hideLoading()
    },
    // 2.根据标题获取视频列表
    async getVideoList(){
        // 请求数据中给页面一个白屏
        this.setData({
            videoList:[]
        })
        const videoList = await myAxios('/video/group', {id: this.data.currentId})
        if(!videoList.datas) return
        this.setData({
            videoList: videoList.datas.slice(0,8).map(item => {
                return item.data
            })
        })
        
    },
    // 3.点击视频播放，并且停止上一个视频
    videoPlay(e){
        const vid = e.currentTarget.dataset.vid
        if(this.oldVid && this.oldVid !== vid) {
            const videoContext = wx.createVideoContext(this.oldVid)
            videoContext.pause()
        }
        this.oldVid = vid
    },
    // 4.切换视频播放
    changeVideo(e){
        const videoId = e.currentTarget.id
        this.setData({
            videoId
        },()=>{ 
            const videoContext = wx.createVideoContext(videoId)
            console.log(videoId);
            videoContext.play()
        })
    },
    // 5.下拉刷新页面
    async isPull(){
        await this.getVideoList()
        this.setData({
            isRefresh: false
        })
    },
    // 6.获取标题列表
    async getTitleList(){
        // 获取video列表数据
        const titleList = await myAxios('/video/group/list')
        this.setData({
            titleList: titleList.data.slice(0,13)
        })
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: async function () {
        await this.getTitleList()
        // 获取标题对应的视频数据
        this.getVideoList()
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: async function () {
        await this.getTitleList()
        this.getVideoList()
        wx.stopPullDownRefresh()
    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function ({from,target}) {
        if(from === 'menu') {
            return {
                title: '嘿嘿猪音乐',
                path: '/pages/index/index',
                imageUrl: '/static/images/dazuo.jpeg'
            }
        }else {
            // dataset中的属性名始终为小写
            const {title, imageurl} = target.dataset
            return {
                title,
                path: '/pages/video/video',
                imageUrl: imageurl
            }
        }
    }
})